1. Field of the Invention
This invention relates to a data compressing system, and more particularly to a data compression system for an image processing system employing multiple predictors.
2. Discussion of the Related Art
In an image processing system it is typically desirable to compress image data. If the image data is being stored, compression of the data conserves the amount of storage space used. If the image data is being transferred over a communication line, compression of the data reduces bandwidth requirements or reduces transmission time.
Many compressors employ a run-length encoder that encodes sections of the input data containing a run of zeros into a number indicating the number of zeros successively appearing in the input data. Another type of encoder uses a two dimensional encoding system that encodes based on a correlation in the vertical as well as the horizontal direction.
One or two dimensional encoding is suitable for image data because image data tends to have similar types of data grouped together within a given area of the image. Before processing image data with a run-length encoder, however, it is desirable to precondition the data to increase the number of successive zeros with a "predictor." A predictor predicts the value of the next pixel on the basis of values of pixels already processed.
A typical predictor unit contains multiple predictors. Each predictor is applied to a current pixel, and the predictor generating the least amount of error is used to predict that particular pixel. Multiple predictors are used because the predictor generating the least amount of area will be a function of the type of data in the particular portion of the image being processed. Some predictors are suitable for halftone image data such as that obtained from a television signal.
There is a trade off between prediction error and the amount of processing needed to make a particular prediction. To reduce the average amount of prediction error, it is desirable to have a large number of predictors available to the prediction unit so that it is likely that a predictor will be present to be suitable for the particular type of data being processed. Having a large number of predictors means that a correspondingly large number of trial predictions must be made to predict a particularly pixel. Having a large number of trial predictions means either that the time needed to predict a particular pixel is large as each trial is conducted in succession, or that a correspondingly large number of processing elements is required to conduct concurrently.
Conversely, reducing the number of available predictors increases the amount of prediction error making it more difficult to attain high redundancy reduction efficiency.